
#include <iostream>
#include "state.h"
using namespace std;


/** Constructor
 *  param v coordinates of the State.
 *  param reward Reward for this State (0 = wall, 1 = free tile, 2 = goal).
 *  param value Value for this State (will be computed during the iteration).
 *  param neighbor Map of pointers to neighboring States referenced by action leading to each.
 */
bool State::init(const vector<double> v, double reward, double value, double policy, map<double, State> neighbor) {

	return true;
}

/** Constructor
 *  param v coordinates of the State as vector.
 *  param reward Reward for this State (0 = wall, 1 = free tile, 2 = goal).
 *  param value Value for this State (will be computed during the iteration).
 */
bool State::init(const vector<double> v, double reward, double value, double policy) {
    this->coords = v;
    this->reward = reward;
    this->value = value;
    this->policy = policy;
	
    return true;
}
		

/** Destructor
 */
bool State::deinit() {

	return true;
}
		

/** addNeighbor
 *  Adds a neighboring State to the map of surrounding states
 *  param action The action that leads to the resulting State (Key)
 *  param s Pointer to the State the action leads to (Value)
 */
bool State::addNeighbor(const double action, State* s) {

	return true;
}
			
	
